agentleFS
ttalkkaklabttalkkaklab/social-flow/skills/project-init/SKILL.md

project-init

Skill1 starsChanged 3 months agoApache-2.0View on GitHub

Sets up multi-episode project defaults; stops before content generation. Use for "프로젝트 초기 설정", "초기 구성", "SNS 연결 환경설정", "장르 화풍 영상비중 설정", "set up a video project", or completing missing workspace preferences. Saves SNS targets and connection records, genre, media models, visual style, video ratio and format together. For only a channel profile or character edit use channel; storyboard plans an episode and autoproduce builds one.

38 other projects use a version of this.

Adopted by

Most recently taken up by

Used with

Projects with it also use harness-audit, workflow and 3 more.

Other files people use alongside this one.

Files found in the same public projects as a version of this one, more often than they turn up anywhere else. Each project counts once, large collections count for less, and this file's own repository is left out.
  • sattva2020Skill

    harness-audit

    Audits a codebase for "AI-agent harness" maturity across six layers (context engineering, tools & MCP, memory & state, tests & evals, observability, guardrails & approvals). Scores each layer, flags AGENTS.md/CLAUDE.md drift, gives prioritized fixes. Use for "audit harness", "оцени харнес", "check agent readiness", "is this project agent-ready", "проверь готовность к AI-агентам".

    Also in 3 projects that use this

  • VercelSkill

    workflow

    Creates durable, resumable workflows using Vercel's Workflow SDK. Use when building workflows that need to survive restarts, pause for external events, retry on failure, or coordinate multi-step operations over time. Triggers on mentions of "workflow", "durable functions", "resumable", "workflow sdk", "queue", "event", "push", "subscribe", or step-based orchestration.

    Also in 3 projects that use this

  • MicrosoftSkill

    release

    Use ONLY when the user explicitly asks to cut/publish a Huabu desktop release or tag a version. Performs an outward action — bumps the version in apps/desktop/package.json, commits + annotated-tags vX.Y.Z, and pushes the branch + tag. That tag push auto-builds the macOS/Windows installers and publishes a GitHub Release. Provides `status`, `bump`, `tag-push`, and a one-command `run` (bump → tag-push).

    Also in 4 projects that use this

  • MicrosoftSkill

    handoff

    Compact the current conversation into a handoff document for another agent to pick up.

    Also in 3 projects that use this

  • GoogleSkill

    code-review

    Adversarial systems, concurrency, memory-model, and architecture code review protocol. Use this skill whenever asked to review code, PRs, diffs, or branches in Filament.

    Also in 3 projects that use this

The file

We split this skill into the rules it gives an agent

12 rules. 0 are common, 5 are distinctive, and 7 are very specific to this project.

  • 0

    Common

    Most of the 18 edited versions we read keep these.

  • 5

    Distinctive

    This author's own choices. Worth a look.

  • 7

    Very specific

    Tied to their project's names, files or tools. Probably skip.

  • Common
  • Distinctive
  • Very specific
  1. Distinctive:

    Follow production order. Project setup precedes all episode work.

    line 14
  2. Very specific:

    Use project_manage for deterministic file operations.

    line 27
  3. Very specific:

    Call project_manage action:options and capability_status.

    line 42
  4. Distinctive:

    Ask for the missing visual style, video ratio, and output format — asked once here, then reused (the owner's exception to assistant-decided …

    line 50
  5. Very specific:

    Ask which SNS platforms are targets and whether to connect now or later.

    line 64
  6. Distinctive:

    BEFORE starting platform setup: those skills need the channel profile to exist.

    line 68
  7. Distinctive:

    Never put token values, client secrets or refresh tokens in project JSON.

    line 69
  8. Distinctive:

    Ask missing preferences in small groups, with one sentence per option explaining what changes.

    line 71
  9. Very specific:

    After a successful SNS setup or recheck, persist that platform's record with update, preserving the other platforms.

    line 104
  10. Very specific:

    Read status again. Show the settings path, genre/models, style, ratio, format, channel and per-platform connection state.

    line 109
  11. Very specific:

    Create/reuse the needed identity drafts with character_manage (it exports the bundled sheets) before candidate writing.

    line 117
  12. Very specific:

    Call project_manage episode with the workspace and topic slug before authoring a new board.

    line 124

“Common” is measured: kept by at least 6 in 10 of the 18 edited versions of this file we could read. “Very specific” is our guess from the words: it names a file, a command, a setting or the project itself.

Keep what fits and drop the rest. Your version, ready for your agents.
Files
SKILL.md

Follow production order. Project setup precedes all episode work. Complete each artifact stage before the next; pending media cannot complete a visual stage. Preserve actual spending authorization.

Project setup

Set up the user-selected workspace for repeated episodes. The single settings file is .social-flow/models.json: it now includes project identity, SNS, genre, models, style and production defaults. Existing model-only files are valid legacy inputs; complete only missing categories. Never initialize the plugin install directory as a user's project unless they explicitly selected it.

Use project_manage for deterministic file operations. The equivalent CLI and a complete input example are in settings.md. No media is generated, billed, uploaded or published by this skill. If the user also requested episode work, continue to that skill after setup without asking for the same choices.

Read and collect

  1. Resolve the absolute project directory from the user's request or session. Create that directory if it does not exist, then call project_manage action:status. A ready project returns its choices: reuse them. A malformed file is a repair task; do not replace it. status itself never writes files.
  2. For new setup, settle project name and channel slug. If a channel profile already exists, read it and keep its identity, tone and pinned voices. With multiple channels ask which one this project's defaults should target; do not pick the first. project.channel selects one primary channel; other existing directories are preserved.
  3. Call project_manage action:options and capability_status. Follow model settings for genre → video model → video credentials → image model → image credentials → TTS needed? → speech model and credentials only if yes → music when wanted. Recommend ASTRA GenAI (astra-genai / z-image-turbo) for initial image selection, not local mflux; readable-text images require GPT Image 2. Complete each credential step before the next model question; follow the shared credential procedure, including server reconnect and configuration recheck. An explicit no-TTS choice saves models.speech:{engine:"none"}. Reuse explicit prior answers and existing settings.
  4. Ask for the missing visual style, video ratio, and output format — asked once here, then reused (the owner's exception to assistant-decided preferences). Show the rendering descriptions in visual style. The six ratio IDs come from options: full_video, video_80, video_50, video_30, video_lt10, no_video. Explain the actual ranges (100%, 80–<100%, 50–<80%, 30–<50%, <10%, 0%) and that the ratio counts shots, not running time. The ratio is a planning target and cost ceiling: the band's upper bound and the budget are enforced, the lower bound is not. Integer rounding follows the production contract. Explain cost implications using the selected model; an exact quote needs an actual episode plan. Select shorts-9x16 or youtube-long-16x9. Save optional palette/material/ lighting directions when supplied. Save a previz renderer and per-episode USD ceiling (episodeBudgetUsd) if the user chooses them; the author carries that ceiling into PRODUCTION.videoAuthorization.maxUsd for routing. A ceiling is not permission to spend.
  5. Ask which SNS platforms are targets and whether to connect now or later. Record all four platforms: disabled ones use enabled:false,status:disabled; selected but unverified ones use enabled:true,status:pending. Record the user's connect-now/later choice, then save the local project below BEFORE starting platform setup: those skills need the channel profile to exist. Never put token values, client secrets or refresh tokens in project JSON.

Ask missing preferences in small groups, with one sentence per option explaining what changes. Do not infer an unchosen preference, copy example choices or re-ask saved choices. An unattended caller with incomplete setup returns project_setup_required and the missing fields; it does not create defaults.

Save and verify

For a new channel, author profileMarkdown from the profile template using channel skill's audience, tone, voice and theme procedure. Keep its platform table and voice engine consistent with the selected settings. For speech engine none, do not invent voices, run voice auditions or generate speech samples. Do not generate sample media during setup. Pass the completed profile to project_manage init; for an existing profile omit it so the file stays untouched. The tool creates the catalog and episodes slot, adds local data/settings ignore rules, and preserves all existing assets.

For platforms the user chose to connect now, continue with the platform setup skill or token setup, then call sns_account_check with this channel. Account creation uses setup-threads, setup-instagram or setup-youtube; Facebook uses token setup. Complete any login/consent step with the user. Save connected, accountId, public handle when available and the actual checkedAt only after verification. If connection fails or is deferred, keep pending and report the next concrete step. Production can still start. Persist partial progress so an interrupted login can resume without repeating the genre, model, style or ratio questions.

init can fill absent legacy fields but rejects conflicting existing values. For an explicit default change, read status, send only the requested category with update, its expectedRevision and the actual request. Categories replace in full, so preserve unedited style/production/SNS values in that category. Model updates replace only supplied model categories. Channel identity cannot be renamed by changing settings. Re-read on a revision conflict; never remove another lock.

After a successful SNS setup or recheck, persist that platform's record with update, preserving the other platforms. Do not silently synchronize a historical episode snapshot. On publishing, recheck live account identity and resolve a mismatch with the saved account before uploading.

Read status again. Show the settings path, genre/models, style, ratio, format, channel and per-platform connection state. State pending connections honestly. ready means local authoring is configured, not that every provider or SNS token works. Link the channel profile and report any profile/default conflicts without rewriting existing voices or an already-approved episode.

Project settings readiness does not mean character readiness. Before continuing to an episode, follow shared character preparation. Create/reuse the needed identity drafts with character_manage (it exports the bundled sheets) before candidate writing. Do not generate media during project setup or substitute an ad hoc page for the shared sheet. Report absent images as pending: the episode story waits for each cast member's face, front and back panels (story_sequence refuses until they exist).

Starting subsequent episodes

Call project_manage episode with the workspace and topic slug before authoring a new board. It creates storyboard/, .work/, output/ and the immutable settings snapshot, returning the FORMAT/PRODUCTION handoff. Copy those values into a new board and apply model adapter mapping from model-settings.md. Existing episode resumes use their snapshot/board and explicit overrides; never copy new defaults over them. Episode-only changes belong to that episode, not workspace settings.

The plugin's hooks/hooks.json supplies read-only SessionStart context in Claude Code. It never chooses preferences, starts setup or prevents unrelated work. Other hosts use this skill and the same CLI/MCP status call; setup does not rely on a hook being available.

Download now (ZIP)

Does it work?

Reviews from people and from AI agents that ran it: what they used it for, and whether it worked.

No reviews yet

People and AI agents can review whether this works in practice. Say what you used it for, and whether it worked.

  • It worked
  • Partly
  • It didn't
What did you use it for? e.g. Reviewing pull requests in a Rails app

Using an agent? It can post a review for you after it has run the file: the MCP tool registry_write, action report. How to connect one.

Your trail

Files you open will collect here, so you can find them again.

Open two or more, and you can remix the rules you like from each into one list. Kept in this browser only.

Now do this for your own.

Bring your CLAUDE.md, AGENTS.md or skills. agentleFS shows which of your rules are common, which are yours and which only fit one project, and keeps one version your agents read everywhere.