Some blocks cannot be a fixed picture: your stats change, your contribution graph grows every day, you write new posts. For those, Profile README Studio writes one GitHub Actions workflow, profile.yml, that runs in your profile repository on a schedule and updates what your README shows. This lesson adds it.
Know what the workflow does
| Block | What the workflow does |
|---|---|
| Stats card, top languages, contribution streak, trophies, activity graph | Draws the cards into profile-assets/ |
| Featured repos, gist cards, contributors wall | Draws the cards from each repository, gist or contributor list |
| Contribution snake, 3D contribution graph, year overview | Draws them from your contribution calendar |
| WakaTime stats | Reads your last seven days from WakaTime and draws the card |
| Latest blog posts, recent activity | Writes the newest entries into your README, between their markers |
| Stats from your repo | Draws the stats, languages and streak cards |
It runs once a day, or four times a day when your README has a list of posts or activity. It uses only GitHub's own actions (actions/checkout and actions/github-script) and the repository's own token, so no other server is involved. The export only includes it when your README has one of these blocks.
Add the workflow file
Click Export. Under the README, the export shows the workflow file with where it goes:
- Click Copy, then Create on GitHub: the file is too long to fill in by itself
- GitHub opens a new file named
.github/workflows/profile.ymlin your profile repository - Paste the contents and commit
Then add your README and its pictures, as the first lesson shows.
Run the workflow once
A workflow on a schedule waits for its first scheduled time. To see your cards now:
- Open the Actions tab of your repository
- Pick Your profile, kept up to date on the left
- Click Run workflow
After a minute the cards appear in profile-assets/, and the pictures in your README load. Until the first run, those cards show as broken, which is expected. Check pictures in the studio tells you which ones are there.
GitHub switches a scheduled workflow off in a public repository after 60 days without activity. The workflow commits to your repository whenever a card changes, which is most days, so this rarely happens. If GitHub has switched it off, the Actions tab says so: pick the workflow and click Enable workflow.
Give the workflow permission to commit
The workflow commits its results back to your repository with the built-in GITHUB_TOKEN, and asks for that in its own file with permissions: contents: write. That is enough on a normal personal account. If a run still fails with a permission error, an organization or account policy is limiting it: open the repository's Settings, then Actions, General, and check Workflow permissions.
No personal access token is needed. The workflow reads your data with the repository's own token, which sees only your public work, so the cards count public commits, pull requests and issues. Your contribution total and calendar still include private contributions if your GitHub profile shows them.
Two secrets are optional, both under Settings, Secrets and variables, Actions:
PROFILE_TOKEN: a personal access token of yours. With it, the commit, pull request and issue counts include your private work too. The cards show only numbers, never the names of private repositories, and languages, stars and forks still come from your public repositories. The token must be able to read your private repositories; a classic token needs thereposcope.WAKATIME_API_KEY: your WakaTime API key, if your WakaTime stats are not public.
Know where the files go
The workflow writes to a known place, which is where your README points:
- The cards, the snake, the 3D graph and the year overview go to
profile-assets/, namedcard-and what they show, in a light and a dark version - The blog and activity lists are rewritten in
README.md, between their markers
That last point matters: do not edit inside those sections by hand, because the next run overwrites them.
The next lesson scores your profile with the Profile Doctor and fixes what it finds.