一键导入
release-create
Creates a new FOUNDATION release — bumps version, updates CHANGELOG, SoftwareRelease.ttl, README, commits, tags, and publishes a GitHub release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
菜单
Creates a new FOUNDATION release — bumps version, updates CHANGELOG, SoftwareRelease.ttl, README, commits, tags, and publishes a GitHub release.
用 Codex 或 Claude 帮你安装 复制这段 Prompt,粘贴到 Codex、Claude 或其他助手里,让它检查 Skill 页面并帮你完成安装。
基于 SOC 职业分类
Use when reviewing pending code changes (working tree + staged) before commit. Checks against FOUNDATION conventions, architecture layer rules, validates compilation, and flags violations of CLAUDE.md / development.md rules.
Start the FOUNDATION dev server (npm run tauri dev) under PM2 management. Use when the app is not running and Claude needs it up (MCP, QA, visual validation) or the user asks to start the server.
Restart the FOUNDATION dev server via PM2, with optional Vite/SvelteKit cache clean. Use after config changes, when the Vite SSR module runner goes zombie (transport invoke timed out), or when the user asks for a restart.
Stop the FOUNDATION dev server managed by PM2, including orphan child cleanup (FOUNDATION.exe / cargo). Use when the user asks to stop the server or Claude needs a clean shutdown.
Use when the user asks to check for available dependency updates in FOUNDATION — phrases like "verifica atualizações de dependências", "o que tem pra atualizar", "tem versão nova das libs", "deps desatualizadas". Runs the Rust deps-check binary (npm + Cargo) and presents the report. Same check that runs automatically on the first session of each day.
Use when the user (PO) asks to fix a Foundation bug by IRI — e.g. "fix bug foundation:Bug_123", "corrija o bug foundation:Bug_456", "resolva o bug <IRI>". Orchestrates the bug pipeline: `support` (investigation & technical dossier) → `architect` Modo Triagem **Briefing** (decide BE/FE/both and produce per-dev briefings) → dispatch `developer-backend` / `developer-frontend` with the briefings → `architect` Modo Triagem **Costura** (validate builds, consolidate `## Como testar`, move to Em Validação (QA)) → `qa` (validation gate before Concluído). Sub-agents cannot call other sub-agents in Claude — this skill (which runs in the main loop) IS the orchestrator. The PO never invokes devs directly; the bug is NEVER closed without QA validation. Always invoke this skill when the user mentions a bug IRI.
| name | release-create |
| description | Creates a new FOUNDATION release — bumps version, updates CHANGELOG, SoftwareRelease.ttl, README, commits, tags, and publishes a GitHub release. |
| disable-model-invocation | false |
!grep '^version' src-tauri/Cargo.toml | head -1
!git log $(git describe --tags --abbrev=0 2>/dev/null || echo "HEAD~20")..HEAD --oneline 2>/dev/null || git log --oneline -15
!sqlite3 ~/Documents/Foundation/FOUNDATION.db "SELECT t_ver.object_value, t_date.object_value, t_log.object_value FROM triples t_ver JOIN triples t_date ON t_date.subject = t_ver.subject AND t_date.predicate = 'foundation:releaseDate' AND t_date.retracted = 0 LEFT JOIN triples t_log ON t_log.subject = t_ver.subject AND t_log.predicate = 'foundation:changelog' AND t_log.retracted = 0 WHERE t_ver.predicate = 'foundation:versionNumber' AND t_ver.retracted = 0 AND t_ver.subject LIKE 'foundation:FoundationRelease_%' ORDER BY t_date.object_value DESC LIMIT 1;" 2>/dev/null || echo "(no releases found)"
Analyze the commits since the last tag:
feat: commit → minor bump (e.g. 0.4.1 → 0.5.0)fix: / refactor: / chore: commits → patch bump (e.g. 0.5.0 → 0.5.1)State the new version clearly before proceeding.
Update the version string in both files atomically (read each before editing):
src-tauri/Cargo.toml — version = "X.Y.Z"package.json — "version": "X.Y.Z"Prepend a new entry at the top of CHANGELOG.md (after the header), following Keep a Changelog format:
## [X.Y.Z] - YYYY-MM-DD
### Added
- ...
### Changed
- ...
### Fixed
- ...
### Refactored
- ...
Only include sections that have content. Derive entries from the commit list.
cargo run --manifest-path scripts/verify-code-iris/Cargo.toml — must pass with zero missing IRIs; if it fails, create missing entities via MCP before proceedingcargo run --manifest-path scripts/dump-ontology/Cargo.tomlcargo run --manifest-path scripts/verify-ontology/Cargo.toml — must pass with zero differencessrc-tauri/crates/foundation-core/assets/ontology.sql in the git add on Step 8Use assert_individual to create the release, then add_property_values to set each property:
assert_individual(operations: [{
class_iri: "foundation:SoftwareRelease",
label: "FOUNDATION vX.Y.Z",
comment: "<one-line summary>",
properties: [
{property_iri: "foundation:releaseOf", values: ["foundation:FoundationProduct"]},
{property_iri: "foundation:versionNumber", values: ["X.Y.Z"]},
{property_iri: "foundation:licenseType", values: ["MIT"]},
{property_iri: "foundation:releaseDate", values: ["YYYY-MM-DD"]},
{property_iri: "foundation:changelog", values: ["<semicolon-separated list of commit subjects>"]},
{property_iri: "foundation:hasStatus", values: ["foundation:Completed"]}
]
}])
Use today's date from the system context (currentDate).
Ensure Foundation MCPTool records match the current implementation in src-tauri/src/ai/functions/definitions.rs:
search(concept_iri: "foundation:MCPTool", limit: 50) to list all existing records.get_available_tools() in definitions.rs.assert_individual with class_iri: "foundation:MCPTool", correct toolDescription, inputSchema, outputSchema, implementedBy, functionName (exact tool name string), hasStatus: foundation:Completed.replace_property_values to update rdfs:label, foundation:functionName, toolDescription, inputSchema, outputSchema.retract_individual.replace_property_values to update toolDescription, inputSchema, outputSchema.Start from the product to get only features actually linked to it:
describe_individual(iris: ["foundation:FoundationProduct"]) to get all foundation:hasFeature values.describe_individual to get its label, comment, and status.foundation:Completed or foundation:InProgress. Skip foundation:Pending.comment field as the one-line description (truncate/summarize if too long).foundation:Completed → `[finalizado]`foundation:InProgress → `[em desenvolvimento]`**Version X.Y.Z** line## Features section between the badges and ## Quick Start with the list from Step 5:## Features
- **Feature Name**: one-line description. `[finalizado]`
- **Feature Name**: one-line description. `[em desenvolvimento]`
One entry per feature, single sentence, status tag at the end.
Stage all changed files by name (never git add -A):
git add src-tauri/Cargo.toml src-tauri/Cargo.lock package.json CHANGELOG.md src-tauri/crates/foundation-core/assets/ontology.sql README.md
Commit with:
chore: release vX.Y.Z
git tag vX.Y.Z
git push
git push origin vX.Y.Z
gh release create vX.Y.Z --title "FOUNDATION vX.Y.Z" --notes "..."
Release notes should mirror the CHANGELOG entry in condensed form.
Cargo.lock changed (it will, due to version bump), include it in the same commitgit tag -d + recreate + git push origin --force vX.Y.Z